#ifndef _DICOM_STORAGE_ENCRYPT_H_
#define _DICOM_STORAGE_ENCRYPT_H_

#include "dicom/storage/stream.h"
#include "dicom/upload/hash_cache.h"
#include <gwbase/encrypt/digest.h>

namespace dicom {

class Encryptor {
 public:
  Encryptor() {}
  ~Encryptor() {}

  Status DoEncryt(const std::string& hexkey, ReaderStream* src,
                  WriterStream* out, HashEntry* hash);
};

Status ZipAndEncryptFile(const std::string& hexkey, const std::string& src_file,
                         const std::string& dest_file, HashEntry* hash);
}

#endif  // _DICOM_STORAGE_ENCRYPT_H_
